package com.demo.java.OD451_500.OD486;

import java.util.*;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【正方形数量(E卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146408619
 */
public class OdMain {
    public static void main(String[] args) {
        // 处理输入
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();  // 读取点的数量
        List<int[]> points = new ArrayList<>();

        // 读取所有点的坐标
        for (int i = 0; i < n; i++) {
            int[] point = new int[2];
            point[0] = in.nextInt();
            point[1] = in.nextInt();
            points.add(point);  // 将点加入列表
        }

        int count = 0;
        int len = points.size();

        // 枚举所有四个点的组合
        if (len > 3) {
            for (int i = 0; i < len - 3; i++) {
                for (int j = i + 1; j < len - 2; j++) {
                    for (int k = j + 1; k < len - 1; k++) {
                        for (int l = k + 1; l < len; l++) {
                            // 判断当前四个点是否可以构成正方形
                            if (isSquare(points.get(i), points.get(j), points.get(k), points.get(l))) {
                                count++;
                            }
                        }
                    }
                }
            }
        }

        // 输出符合条件的正方形个数
        System.out.print(count);
    }

    // 判断四个点是否构成正方形
    public static boolean isSquare(int[] a, int[] b, int[] c, int[] d) {
        List<int[]> list = Arrays.asList(a, b, c, d);
        Map<Integer, Integer> map = new HashMap<>();

        // 计算所有点之间的距离并存入哈希表
        for (int i = 0; i < 3; i++) {
            for (int j = i + 1; j < 4; j++) {
                int x = list.get(i)[0] - list.get(j)[0];
                int y = list.get(i)[1] - list.get(j)[1];
                int len = x * x + y * y;  // 计算距离的平方（避免浮点数误差）
                map.put(len, map.getOrDefault(len, 0) + 1);
            }
        }

        // 判断是否有两种不同的距离，且满足正方形的条件
        return map.size() == 2 && (map.get(map.keySet().toArray()[0]) == 4 && map.get(map.keySet().toArray()[1]) == 2);
    }
}